overview
next
Linux für Anwendungsentwicklung
previous
nextDozent
- Paul Hänsch
- Seit 2012 freiberuflicher Programmierer
- Arbeit an und mit Freier Software (Open Source)
- Kunden: Jugendclub, Kinderzirkus, Kulturserver, ...
- in der Vergangenheit: Free Software Foundation Europe
- Videopodcast: GNUfunzt! http://gnufunzt.de
- Kontakt: Paul.Haensch@damago.eu
previous
nextOrganisatorisches zum Kurs
- 9 Termine
- 8:00 bis 15:15 Uhr
- Letzter Termin 3.5.
- Pausenzeiten?
- Themenübersicht - Nach der Einführung
previous
nextVorstellungsrunde
- Wie seid ihr zu der Umschulung gekommen?
- Wie habt ihr bisher programmiert?
- Welches kleine Programm wolltet ihr immer schonmal schreiben?
previous
nextWas ist ein Betriebssystem?
previous
nextWas ist ein Betriebssystem?
previous
nextFunktionen eines Betriebssystems
previous
nextBegriffe
GNU Desktop Unix
Ubuntu Linux Distribution
Gnome Knoppix
previous
nextprevious
nextprevious
nextprevious
nextprevious
nextprevious
nextWas ist eine Distribution?
previous
nextBeispiele für Distributionen
- Ubuntu - Kommerzielle Distribution basierend auf Debian
- Debian - Frühe Distribution mit Online-Paketsystem
- Gentoo - Zusammenstellung von Quellcode zum selbst anpassen
- Arch - Verbreitete Distribution mit eigenem Paketsystem
- Knoppix - Debian basiertes Live-System
- Fedora, RedHat, Suse, Parabola, Puppy, Rebecca Black, ...
- Tausende weitere
previous
nextDesktopumgebungen
Grafische Bedienoberflächen können sehr unterschiedlich aussehen
- Gnome
- KDE
- LXDE
- Xfce
- Maté, i3, Awesome, WindowMaker, LXQT, Enlightenment, usw...
- Unterscheidung: Window Manager, Toolkit, Softwaresuite
previous
nextWeitere Begriffe
- Android: anderes Betriebssystem mit Linux-Kernel
- BSD: Berkeley Software Distribution, anderes Freies Unix
- Busybox: andere Suite von Unix-Dienstprogrammen
previous
nextThemenübersicht
previous
nextprevious
nextWeitere Themen
- Prozessmanagement
- Vertiefung Kommandozeile, Shellscripting
- Datenträger, Dateisysteme, Partitionen
- Systemstart
- Paketsysteme, Softwareinstallation, Systeminstallation
- Netzwerk, SSH
nach Wunsch Android, X11, Verschlüsselung, Internetdienste, Versionskontrolle, Gameserver, ..., Scripting, Programmierunmgebungen, Webentwicklung
Installparty? Ihr könnt eure eigenen Notebooks mitbringen.
previous
nextprevious
nextArbeit mit Dateien
~$ touch datei1
previous
nextprevious
nextArbeit mit Dateien
~$ ls -l datei1
-rw-r--r-- 1 live live 0 Apr 10 02:13 datei1
previous
nextArbeit mit Dateien
~$ echo "Hallo Welt!" > datei1
previous
nextArbeit mit Dateien
~$ ls -l datei1
-rw-r--r-- 1 live live 12 Apr 10 02:13 datei1
previous
nextArbeit mit Dateien
~$ cat datei1
previous
nextArbeit mit Dateien
~$ touch datei1
~$ ls
datei1
~$ ls -l datei1
-rw-r--r-- 1 live live 0 Apr 10 02:13 datei1
~$ echo "Hallo Welt!" > datei1
~$ ls -l datei1
-rw-r--r-- 1 live live 12 Apr 10 02:13 datei1
~$ cat datei1
Hallo Welt!
~$ _
previous
nextArbeit mit Dateien
~$ ls -l /bin/bash
-rwxr-xr-x 1 root root 1168776 Apr 18 06:12 /bin/bash
previous
nextArbeit mit Dateien
~$ ls -l -h /bin/bash
previous
nextArbeit mit Dateien
-rwxr-xr-x 1 root root 1.2M Apr 18 06:12 /bin/bash
previous
nextZusammenfassung
touch
legt eine Datei an
ls
zeigt Informationen über eine Datei
previous
nextZusammenfassung
- Kommandos lassen sich parametrisieren, z.B.
ls -l
und ls -h
previous
nextZusammenfassung
- mit
echo
können wir text in eine Datei schreiben
previous
nextZusammenfassung
cat
zeigt den Inhalt von Dateien an
previous
nextZusammenfassung
touch
ls
ls -l -h
echo
cat
previous
nextZugriffsrechte
previous
nextZugriffsrechte
~$ ls -l datei1
-rw-r--r-- 1 live live 12 Apr 10 02:13 datei1
Typ | Eigentümer | Gruppe | Andere |
- | rw- | r-- | r-- |
previous
nextZugriffsrechte
~$ ls -l /bin/cat
-rwxr-xr-x 1 root root 34676 Feb 22 2017 /bin/cat
Typ | Eigentümer (root) | Gruppe (root) | Andere |
- | rwx | r-x | r-x |
previous
nextZugriffsrechte
~$ chmod u-r datei1
~$ ls -l datei1
--w-r--r-- 1 live live 12 Apr 10 02:13 datei1
Typ | Eigentümer | Gruppe | Andere |
- | -w- | r-- | r-- |
previous
nextZugriffsrechte
~$ cat datei1
cat: datei1: Keine Berechtigung
previous
nextZugriffsrechte
~$ chmod u+r datei1
~$ cat datei1
Hallo Welt!
previous
nextZugriffsrechte - Gruppen
~$ groups
live sudo video input
previous
nextZugriffsrechte - Gruppen
~$ chgrp video datei1
~$ ls -l datei1
-rw-r--r-- 1 live video 12 Apr 10 02:13 datei1
previous
nextNavigation im Dateisystem
previous
nextNavigation im Dateisystem
~$ pwd
/home/live
previous
nextNavigation im Dateisystem
~$ cd .
~$ pwd
/home/live
previous
nextNavigation im Dateisystem
~$ cd ..
~$ pwd
/home
previous
nextNavigation im Dateisystem
~$ cd ..
~$ pwd
/
~$ ls
bin etc media proc sys var boot home mnt
root tmp dev lib opt sbin usr
previous
nextNavigation im Dateisystem
~$ ls bin
~$ ls etc
~$ ls dev
previous
nextNavigation im Dateisystem
previous
nextNavigation im Dateisystem
previous
nextSystemordner in Unix
- /bin enthält ausführbare Programme
- /boot enthält den Systemkernel und Dateien, die damit unmittelbar in Zusammenhang stehen
- /etc enthält systemweite Konfigurationsdateien
- /home enthält Heimverzeichnisse der Benutzer
- /lib enthält sogenannte Softwarebibliotheken
- /media wird benutzt um temporäre Medien wie CDs und USB-Sticks abzubilden
- /var enthält Dateien, die sich ohne Handlung des Benutzers im regulären Betrieb verändern (z.B. Logbücher)
- /usr enthält weitere /bin und /lib Verzeichnisse für weniger grundlegende Programme
previous
nextprevious
nextprevious
nextSyntax der Kommandozeile
previous
nextSyntax der Kommandozeile
~$ echo Hallo Welt
previous
nextprevious
nextprevious
nextSyntax der Kommandozeile
Ein Parameter:
~$ echo "Hallo Welt"
~$ echo Hallo" "Welt
Shellprompt | Befehl | Parameter 1 |
~$ | echo | Hallo Welt |
previous
nextSyntax der Kommandozeile
Drei Parameter
~$ echo Hallo " " Welt
~$ echo "Hallo" " " "Welt"
Shellprompt | Befehl | Parameter 1 | Parameter 2 | Parameter 3 |
~$ | echo | Hallo | | Welt |
previous
nextSyntax der Kommandozeile
Folie vom ersten Kurstag:
~$ echo "Hallo Welt!" > datei1
previous
nextSyntax der Kommandozeile
Folie vom ersten Kurstag:
- mit
echo
können wir text in eine Datei schreiben
previous
nextSyntax der Kommandozeile
Shellprompt | Befehl | Parameter 1 | Umleitung | Ziel der Umleitung |
~$ | echo | Hallo Welt! | > | datei1 |
previous
nextprevious
nextArbeit mit Dateien und Pfaden
previous
nextArbeit mit Dateien und Pfaden
previous
nextArbeit mit Dateien und Pfaden
previous
nextArbeit mit Dateien und Pfaden
Shellprompt | Befehl | Parameter 1 | Parameter 2 |
~$ | mv | datei1 | ordner1 |
Shellprompt | Befehl | Parameter 1 | Parameter 2 | Parameter 3 |
~$ | mv | datei2 | datei3 | ordner2 |
previous
nextArbeit mit Dateien und Pfaden
previous
nextArbeit mit Dateien und Pfaden
~$ ls ordner1
~$ cd ordner1
~/ordner1$ ls
~/ordner1$ ls ordner1
- Wir sind in ordner1, dieser Ordner enthält nicht seinerseits einen ordner1
previous
nextArbeit mit Dateien und Pfaden
~/ordner1$ ls /home/live/ordner1
funktioniert immer => absoluter Pfad
previous
nextArbeit mit Dateien und Pfaden
previous
nextArbeit mit Dateien und Pfaden
~/ordner1$ cp datei1 "Name mit Leerzeichen"
previous
nextArbeit mit Dateien und Pfaden
previous
nextArbeit mit Dateien und Pfaden
~/ordner1$ mv Name_ohne_Leerzeichen ..
~/ordner1$ mv ../Name_ohne_Leerzeichen .
previous
nextArbeit mit Dateien und Pfaden
~/ordner1$ mv ../ordner2/datei2 .
~/ordner1$ mv /home/live/ordner2/datei3 .
previous
nextArbeit mit Dateien und Pfaden
~/ordner1$ cd /home/live
~$ rmdir ordner2
previous
nextArbeit mit Dateien und Pfaden
~$ rmdir ordner1
previous
nextArbeit mit Dateien und Pfaden
~$ rm ordner1
previous
nextArbeit mit Dateien und Pfaden
~$ rm ordner1/datei2
previous
nextArbeit mit Dateien und Pfaden
~$ rm -r ordner1/
previous
nextprevious
nextprevious
nextprevious85